package com.sinping.qh.service.app.lab;

import com.sinping.qh.api.support.FrontPage;
import com.sinping.qh.api.support.ResDto;
import com.sinping.qh.dto.admin.lab.LabInspectItemRelationDto;
import com.sinping.qh.dto.app.lab.LaboratoryByAppDTO;
import com.sinping.qh.dto.app.user.UserLaboratoryDTO;
import com.sinping.qh.dto.mongo.auth.UserSessionDTO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author jiahuaiqing
 * @create 2018/6/9
 */
public interface ILaboratoryByAppService {

    FrontPage findPage(FrontPage frontPage);
    //根据用户id获取所负责的院系列表
    FrontPage findPageByUserid(FrontPage frontPage,UserSessionDTO userSessionDTO);
    FrontPage findPageByUseridAddQuanxian(FrontPage frontPage,UserSessionDTO userSessionDTO);
    //根据院系id,获取用户负责的实验室列表
    FrontPage findPageByUnitid(FrontPage frontPage,UserSessionDTO userSessionDTO);
    FrontPage findPageByUnitidAddQuanxian(FrontPage frontPage,UserSessionDTO userSessionDTO);

    ResDto getConfigedInsepctItemByLabId(String labId);
    //取消已经配置的检查项
    ResDto cancleLabInspectItemById(LabInspectItemRelationDto labInspectItemRelationDto);


    List<UserLaboratoryDTO> getUserLaboratory(UserSessionDTO userSessionDTO);

    List<LaboratoryByAppDTO> getUserBuildingByUnit(String unit_id, UserSessionDTO userSessionDTO);

    //获取--实验室已经配置的检查项中的隐患描述(用在隐患记录中添加隐患描述)(包含[院系隐患或实验室隐患]+危险源隐患)
    ResDto getLabInspectItemDescRelation(String itemSubcategory,String lab_id);
}
